HyperCard initially sends system messages to the current card—the mouse button is up or down, the field has been modified, the card has been closed, etc.
HyperCard uses inheritance to determine who is in control at any moment. If an object's script doesn't have a response for a message, the message goes to the next larger object the first object is a part of—the card the button is on, then the background the card has, etc.